<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			
			//Array.from()方法用于将两类对象转为真正的数组：类似数组的对象（array-like object）
			//            和可遍历（iterable）的对象（包括ES6新增的数据结构Set和Map）
			//Array.from()还可以接受第二个参数，作用类似于数组的map方法，用来对每个元素进行处理.
			//类数组对象
			var obj = {
				"0": 10,
				"1": 20,
				"2": 30,
				length:3
			}
			var arr =  Array.from(obj);
			console.log(arr);
			
			var arr = [10,20,30];
			var arr2 = Array.from(arr, function(value, index){
				//console.log(arguments.length); //2
				//console.log(value + ";" + index);
				return value*2;
			});
			console.log(arr2); //[ 20, 40, 60 ]
			
			
			//Array.of() : 方法用于将一组值，转换为数组
			console.log( Array.of(2,3,4,5) ); // [ 2, 3, 4, 5 ]
			
			
			//find()和findIndex()
			//数组实例的find方法，用于找出第一个符合条件的数组成员。
			//它的参数是一个回调函数，所有数组成员依次执行该回调函数，
			//直到找出第一个返回值为true的成员，然后返回该成员。
			//如果没有符合条件的成员，则返回undefined。
			
			//find() ：查找数组中第一个符合条件的数
			var arr = [1,-1,3,-4,5,6,-6];
			var res = arr.find(function(value, index, array){
				return value<0;
			});
			console.log(res);
			
			//findIndex() : 查找数组中第一个符合条件的数的下标
			var arr = [1,-1,3,-4,5,6,-6];
			var res = arr.findIndex(function(value, index, array){
				return value<0;
			});
			console.log(res);
			
			
			//for-of: 遍历数组
			var arr = [10,20,30,40];
			
			//for-in
			for (let i in arr){
				console.log(arr[i]);
			}
			
			//for-of
			for (let v of arr) {
				console.log(v); //值
			}
			
			for (let i of arr.keys()){
				console.log(i); //下标
			}
			
			for (let [i,v] of arr.entries()) {
				console.log(i + "：" + v); //下标，值
			}
			
			//[i,v] 解构赋值
			var [a,b] = [10,20];
			console.log(a + ";" + b); //10;20
			
			
		</script>
	</head>
	<body>
	</body>
</html>
